home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat1 / X11 / X.z / X
Text File  |  1998-10-20  |  69KB  |  1,387 lines

  1.  
  2.  
  3.  
  4.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           X - a portable, network-transparent window system
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           The X Window System is a network transparent window system
  13.           which runs on a wide range of computing and graphics
  14.           machines.  It should be relatively straightforward to build
  15.           the X Consortium software distribution on most ANSI C and
  16.           POSIX compliant systems.  Commercial implementations are
  17.           also available for a wide range of platforms.
  18.  
  19.           The X Consortium requests that the following names be used
  20.           when referring to this software:
  21.  
  22.                                        X
  23.                                 X Window System
  24.                                   X Version 11
  25.                           X Window System, Version 11
  26.                                       X11
  27.  
  28.           _X _W_i_n_d_o_w _S_y_s_t_e_m is a trademark of X Consortium, Inc.
  29.  
  30.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  31.           X Window System servers run on computers with bitmap
  32.           displays.  The server distributes user input to and accepts
  33.           output requests from various client programs through a
  34.           variety of different interprocess communication channels.
  35.           Although the most common case is for the client programs to
  36.           be running on the same machine as the server, clients can be
  37.           run transparently from other machines (including machines
  38.           with different architectures and operating systems) as well.
  39.  
  40.           X supports overlapping hierarchical subwindows and text and
  41.           graphics operations, on both monochrome and color displays.
  42.           For a full explanation of the functions that are available,
  43.           see the _X_l_i_b - _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e manual, the _X _W_i_n_d_o_w
  44.           _S_y_s_t_e_m _P_r_o_t_o_c_o_l specification, the _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s - _C
  45.           _L_a_n_g_u_a_g_e _I_n_t_e_r_f_a_c_e manual, and various toolkit documents.
  46.  
  47.           The number of programs that use _X is quite large.  Programs
  48.           provided in the core X Consortium distribution include:  a
  49.           terminal emulator, _x_t_e_r_m; a window manager, _t_w_m; a display
  50.           manager, _x_d_m; a console redirect program, _x_c_o_n_s_o_l_e; a mail
  51.           interface, _x_m_h; a bitmap editor, _b_i_t_m_a_p; resource
  52.           listing/manipulation tools, _a_p_p_r_e_s, _e_d_i_t_r_e_s; access control
  53.           programs, _x_a_u_t_h, _x_h_o_s_t, and _i_c_e_a_u_t_h; user preference setting
  54.           programs, _x_r_d_b, _x_c_m_s_d_b, _x_s_e_t, _x_s_e_t_r_o_o_t, _x_s_t_d_c_m_a_p, and
  55.           _x_m_o_d_m_a_p; clocks, _x_c_l_o_c_k and _o_c_l_o_c_k; a font displayer, (_x_f_d;
  56.           utilities for listing information about fonts, windows, and
  57.           displays, _x_l_s_f_o_n_t_s, _x_w_i_n_i_n_f_o, _x_l_s_c_l_i_e_n_t_s, _x_d_p_y_i_n_f_o,
  58.           _x_l_s_a_t_o_m_s, and _x_p_r_o_p; screen image manipulation utilities,
  59.           _x_w_d, _x_w_u_d, and _x_m_a_g; a performance measurement utility,
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 4/30/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  71.  
  72.  
  73.  
  74.           _x_1_1_p_e_r_f; a font compiler, _b_d_f_t_o_p_c_f; a font server and
  75.           related utilities, _x_f_s, _f_s_i_n_f_o, _f_s_l_s_f_o_n_t_s, _f_s_t_o_b_d_f; an X
  76.           Image Extension exerciser, _x_i_e_p_e_r_f; a display server and
  77.           related utilities, _X_s_e_r_v_e_r, _r_g_b, _m_k_f_o_n_t_d_i_r; remote execution
  78.           utilities, _r_s_t_a_r_t and _x_o_n; a clipboard manager, _x_c_l_i_p_b_o_a_r_d;
  79.           keyboard description compiler and related utilities,
  80.           _x_k_b_c_o_m_p, _x_k_b_p_r_i_n_t, _x_k_b_b_e_l_l, _x_k_b_e_v_d, _x_k_b_v_l_e_d_s, and _x_k_b_w_a_t_c_h;
  81.           a utility to terminate clients, _x_k_i_l_l; an optimized X
  82.           protocol proxy, _l_b_x_p_r_o_x_y; a firewall security proxy, _x_f_w_p; a
  83.           proxy manager to control them, _p_r_o_x_y_m_n_g_r; a utility to find
  84.           proxies, _x_f_i_n_d_p_r_o_x_y; Netscape Navigator Plug-ins, _l_i_b_x_r_x._s_o
  85.           and _l_i_b_x_r_x_n_e_s_t._s_o; an RX MIME-type helper program, _x_r_x; and
  86.           a utility to cause part or all of the screen to be redrawn,
  87.           _x_r_e_f_r_e_s_h.
  88.  
  89.           Many other utilities, window managers, games, toolkits, etc.
  90.           are included as user-contributed software in the X
  91.           Consortium distribution, or are available using anonymous
  92.           ftp on the Internet.  See your site administrator for
  93.           details.
  94.  
  95.      SSSSTTTTAAAARRRRTTTTIIIINNNNGGGG UUUUPPPP
  96.           There are two main ways of getting the X server and an
  97.           initial set of client applications started.  The particular
  98.           method used depends on what operating system you are running
  99.           and whether or not you use other window systems in addition
  100.           to X.
  101.  
  102.           _x_d_m ((((tttthhhheeee XXXX DDDDiiiissssppppllllaaaayyyy MMMMaaaannnnaaaaggggeeeerrrr))))
  103.                   If you want to always have X running on your
  104.                   display, your site administrator can set your
  105.                   machine up to use the X Display Manager _x_d_m.  This
  106.                   program is typically started by the system at boot
  107.                   time and takes care of keeping the server running
  108.                   and getting users logged in.  If you are running
  109.                   _x_d_m, you will see a window on the screen welcoming
  110.                   you to the system and asking for your username and
  111.                   password.  Simply type them in as you would at a
  112.                   normal terminal, pressing the Return key after each.
  113.                   If you make a mistake, _x_d_m will display an error
  114.                   message and ask you to try again.  After you have
  115.                   successfully logged in, _x_d_m will start up your X
  116.                   environment.  By default, if you have an executable
  117.                   file named ._x_s_e_s_s_i_o_n in your home directory, _x_d_m
  118.                   will treat it as a program (or shell script) to run
  119.                   to start up your initial clients (such as terminal
  120.                   emulators, clocks, a window manager, user settings
  121.                   for things like the background, the speed of the
  122.                   pointer, etc.).  Your site administrator can provide
  123.                   details.
  124.  
  125.           _x_i_n_i_t ((((rrrruuuunnnn mmmmaaaannnnuuuuaaaallllllllyyyy ffffrrrroooommmm tttthhhheeee sssshhhheeeellllllll))))
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 4/30/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  137.  
  138.  
  139.  
  140.                   Sites that support more than one window system might
  141.                   choose to use the _x_i_n_i_t program for starting X
  142.                   manually.  If this is true for your machine, your
  143.                   site administrator will probably have provided a
  144.                   program named "x11", "startx", or "xstart" that will
  145.                   do site-specific initialization (such as loading
  146.                   convenient default resources, running a window
  147.                   manager, displaying a clock, and starting several
  148.                   terminal emulators) in a nice way.  If not, you can
  149.                   build such a script using the _x_i_n_i_t program.  This
  150.                   utility simply runs one user-specified program to
  151.                   start the server, runs another to start up any
  152.                   desired clients, and then waits for either to
  153.                   finish.  Since either or both of the user-specified
  154.                   programs may be a shell script, this gives
  155.                   substantial flexibility at the expense of a nice
  156.                   interface.  For this reason, _x_i_n_i_t is not intended
  157.                   for end users.
  158.  
  159.      DDDDIIIISSSSPPPPLLLLAAAAYYYY NNNNAAAAMMMMEEEESSSS
  160.           From the user's perspective, every X server has a _d_i_s_p_l_a_y
  161.           _n_a_m_e of the form:
  162.  
  163.                       _h_o_s_t_n_a_m_e:_d_i_s_p_l_a_y_n_u_m_b_e_r._s_c_r_e_e_n_n_u_m_b_e_r
  164.  
  165.           This information is used by the application to determine how
  166.           it should connect to the server and which screen it should
  167.           use by default (on displays with multiple monitors):
  168.  
  169.           _h_o_s_t_n_a_m_e
  170.                   The _h_o_s_t_n_a_m_e specifies the name of the machine to
  171.                   which the display is physically connected.  If the
  172.                   hostname is not given, the most efficient way of
  173.                   communicating to a server on the same machine will
  174.                   be used.
  175.  
  176.           _d_i_s_p_l_a_y_n_u_m_b_e_r
  177.                   The phrase "display" is usually used to refer to
  178.                   collection of monitors that share a common keyboard
  179.                   and pointer (mouse, tablet, etc.).  Most
  180.                   workstations tend to only have one keyboard, and
  181.                   therefore, only one display.  Larger, multi-user
  182.                   systems, however, frequently have several displays
  183.                   so that more than one person can be doing graphics
  184.                   work at once.  To avoid confusion, each display on a
  185.                   machine is assigned a _d_i_s_p_l_a_y _n_u_m_b_e_r (beginning at
  186.                   0) when the X server for that display is started.
  187.                   The display number must always be given in a display
  188.                   name.
  189.  
  190.           _s_c_r_e_e_n_n_u_m_b_e_r
  191.                   Some displays share a single keyboard and pointer
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 4/30/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  203.  
  204.  
  205.  
  206.                   among two or more monitors.  Since each monitor has
  207.                   its own set of windows, each screen is assigned a
  208.                   _s_c_r_e_e_n _n_u_m_b_e_r (beginning at 0) when the X server for
  209.                   that display is started.  If the screen number is
  210.                   not given, screen 0 will be used.
  211.  
  212.           On POSIX systems, the default display name is stored in your
  213.           DISPLAY environment variable.  This variable is set
  214.           automatically by the _x_t_e_r_m terminal emulator.  However, when
  215.           you log into another machine on a network, you will need to
  216.           set DISPLAY by hand to point to your display.  For example,
  217.  
  218.               % setenv DISPLAY myws:0
  219.               $ DISPLAY=myws:0; export DISPLAY
  220.           The _x_o_n script can be used to start an X program on a remote
  221.           machine; it automatically sets the DISPLAY variable
  222.           correctly.
  223.  
  224.           Finally, most X programs accept a command line option of
  225.           ----ddddiiiissssppppllllaaaayyyy _d_i_s_p_l_a_y_n_a_m_e to temporarily override the contents of
  226.           DISPLAY.  This is most commonly used to pop windows on
  227.           another person's screen or as part of a "remote shell"
  228.           command to start an xterm pointing back to your display.
  229.           For example,
  230.  
  231.               % xeyes -display joesws:0 -geometry 1000x1000+0+0
  232.               % rsh big xterm -display myws:0 -ls </dev/null &
  233.  
  234.           X servers listen for connections on a variety of different
  235.           communications channels (network byte streams, shared
  236.           memory, etc.).  Since there can be more than one way of
  237.           contacting a given server, The _h_o_s_t_n_a_m_e part of the display
  238.           name is used to determine the type of channel (also called a
  239.           transport layer) to be used.  X servers generally support
  240.           the following types of connections:
  241.  
  242.           _l_o_c_a_l
  243.                   The hostname part of the display name should be the
  244.                   empty string.  For example:  :_0, :_1, and :_0._1.  The
  245.                   most efficient local transport will be chosen.
  246.  
  247.           _T_C_P/_I_P
  248.                   The hostname part of the display name should be the
  249.                   server machine's IP address name.  Full Internet
  250.                   names, abbreviated names, and IP addresses are all
  251.                   allowed.  For example:  _x._o_r_g:_0, _e_x_p_o:_0,
  252.                   _1_9_8._1_1_2._4_5._1_1:_0, _b_i_g_m_a_c_h_i_n_e:_1, and _h_y_d_r_a:_0._1.
  253.  
  254.           _D_E_C_n_e_t
  255.                   The hostname part of the display name should be the
  256.                   server machine's nodename, followed by two colons
  257.                   instead of one.  For example:  _m_y_w_s::_0, _b_i_g::_1, and
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 4/30/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  269.  
  270.  
  271.  
  272.                   _h_y_d_r_a::_0._1.
  273.  
  274.      AAAACCCCCCCCEEEESSSSSSSS CCCCOOOONNNNTTTTRRRROOOOLLLL
  275.           An X server can use several types of access control.
  276.           Mechanisms provided in Release 6 are:
  277.               Host Access                   Simple host-based access control.
  278.               MIT-MAGIC-COOKIE-1            Shared plain-text "cookies".
  279.               XDM-AUTHORIZATION-1           Secure DES based private-keys.
  280.               SUN-DES-1                     Based on Sun's secure rpc system.
  281.               MIT-KERBEROS-5                Kerberos Version 5 user-to-user.
  282.  
  283.           _X_d_m initializes access control for the server and also
  284.           places authorization information in a file accessible to the
  285.           user.  Normally, the list of hosts from which connections
  286.           are always accepted should be empty, so that only clients
  287.           with are explicitly authorized can connect to the display.
  288.           When you add entries to the host list (with _x_h_o_s_t), the
  289.           server no longer performs any authorization on connections
  290.           from those machines.  Be careful with this.
  291.  
  292.           The file from which _X_l_i_b extracts authorization data can be
  293.           specified with the environment variable XXXXAAAAUUUUTTTTHHHHOOOORRRRIIIITTTTYYYY, and
  294.           defaults to the file ....XXXXaaaauuuutttthhhhoooorrrriiiittttyyyy in the home directory.  _X_d_m
  295.           uses $$$$HHHHOOOOMMMMEEEE////....XXXXaaaauuuutttthhhhoooorrrriiiittttyyyy and will create it or merge in
  296.           authorization records if it already exists when a user logs
  297.           in.
  298.  
  299.           If you use several machines and share a common home
  300.           directory across all of the machines by means of a network
  301.           file system, you never really have to worry about
  302.           authorization files, the system should work correctly by
  303.           default.  Otherwise, as the authorization files are
  304.           machine-independent, you can simply copy the files to share
  305.           them.  To manage authorization files, use _x_a_u_t_h.  This
  306.           program allows you to extract records and insert them into
  307.           other files.  Using this, you can send authorization to
  308.           remote machines when you login, if the remote machine does
  309.           not share a common home directory with your local machine.
  310.           Note that authorization information transmitted ``in the
  311.           clear'' through a network file system or using _f_t_p or _r_c_p
  312.           can be ``stolen'' by a network eavesdropper, and as such may
  313.           enable unauthorized access.  In many environments, this
  314.           level of security is not a concern, but if it is, you need
  315.           to know the exact semantics of the particular authorization
  316.           data to know if this is actually a problem.
  317.  
  318.           For more information on access control, see the _X_s_e_c_u_r_i_t_y
  319.           manual page.
  320.  
  321.      GGGGEEEEOOOOMMMMEEEETTTTRRRRYYYY SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNNSSSS
  322.           One of the advantages of using window systems instead of
  323.           hardwired terminals is that applications don't have to be
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 4/30/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  335.  
  336.  
  337.  
  338.           restricted to a particular size or location on the screen.
  339.           Although the layout of windows on a display is controlled by
  340.           the window manager that the user is running (described
  341.           below), most X programs accept a command line argument of
  342.           the form ----ggggeeeeoooommmmeeeettttrrrryyyy _W_I_D_T_H_x_H_E_I_G_H_T+_X_O_F_F+_Y_O_F_F (where _W_I_D_T_H,
  343.           _H_E_I_G_H_T, _X_O_F_F, and _Y_O_F_F are numbers) for specifying a
  344.           preferred size and location for this application's main
  345.           window.
  346.  
  347.           The _W_I_D_T_H and _H_E_I_G_H_T parts of the geometry specification are
  348.           usually measured in either pixels or characters, depending
  349.           on the application.  The _X_O_F_F and _Y_O_F_F parts are measured in
  350.           pixels and are used to specify the distance of the window
  351.           from the left or right and top and bottom edges of the
  352.           screen, respectively.  Both types of offsets are measured
  353.           from the indicated edge of the screen to the corresponding
  354.           edge of the window.  The X offset may be specified in the
  355.           following ways:
  356.  
  357.           +_X_O_F_F   The left edge of the window is to be placed _X_O_F_F
  358.                   pixels in from the left edge of the screen (i.e.,
  359.                   the X coordinate of the window's origin will be
  360.                   _X_O_F_F).  _X_O_F_F may be negative, in which case the
  361.                   window's left edge will be off the screen.
  362.  
  363.           -_X_O_F_F   The right edge of the window is to be placed _X_O_F_F
  364.                   pixels in from the right edge of the screen.  _X_O_F_F
  365.                   may be negative, in which case the window's right
  366.                   edge will be off the screen.
  367.  
  368.           The Y offset has similar meanings:
  369.  
  370.           +_Y_O_F_F   The top edge of the window is to be _Y_O_F_F pixels
  371.                   below the top edge of the screen (i.e., the Y
  372.                   coordinate of the window's origin will be _Y_O_F_F).
  373.                   _Y_O_F_F may be negative, in which case the window's top
  374.                   edge will be off the screen.
  375.  
  376.           -_Y_O_F_F   The bottom edge of the window is to be _Y_O_F_F pixels
  377.                   above the bottom edge of the screen.  _Y_O_F_F may be
  378.                   negative, in which case the window's bottom edge
  379.                   will be off the screen.
  380.  
  381.           Offsets must be given as pairs; in other words, in order to
  382.           specify either _X_O_F_F or _Y_O_F_F both must be present.  Windows
  383.           can be placed in the four corners of the screen using the
  384.           following specifications:
  385.  
  386.           +_0+_0    upper left hand corner.
  387.  
  388.           -_0+_0    upper right hand corner.
  389.  
  390.  
  391.  
  392.  
  393.      Page 6                                          (printed 4/30/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  401.  
  402.  
  403.  
  404.           -_0-_0    lower right hand corner.
  405.  
  406.           +_0-_0    lower left hand corner.
  407.  
  408.           In the following examples, a terminal emulator is placed in
  409.           roughly the center of the screen and a load average monitor,
  410.           mailbox, and clock are placed in the upper right hand
  411.           corner:
  412.  
  413.               xterm -fn 6x10 -geometry 80x24+30+200 &
  414.               xclock -geometry 48x48-0+0 &
  415.               xload -geometry 48x48-96+0 &
  416.               xbiff -geometry 48x48-48+0 &
  417.  
  418.      WWWWIIIINNNNDDDDOOOOWWWW MMMMAAAANNNNAAAAGGGGEEEERRRRSSSS
  419.           The layout of windows on the screen is controlled by special
  420.           programs called _w_i_n_d_o_w _m_a_n_a_g_e_r_s.  Although many window
  421.           managers will honor geometry specifications as given, others
  422.           may choose to ignore them (requiring the user to explicitly
  423.           draw the window's region on the screen with the pointer, for
  424.           example).
  425.  
  426.           Since window managers are regular (albeit complex) client
  427.           programs, a variety of different user interfaces can be
  428.           built.  The X Consortium distribution comes with a window
  429.           manager named _t_w_m which supports overlapping windows, popup
  430.           menus, point-and-click or click-to-type input models, title
  431.           bars, nice icons (and an icon manager for those who don't
  432.           like separate icon windows).
  433.  
  434.           See the user-contributed software in the X Consortium
  435.           distribution for other popular window managers.
  436.  
  437.      FFFFOOOONNNNTTTT NNNNAAAAMMMMEEEESSSS
  438.           Collections of characters for displaying text and symbols in
  439.           X are known as _f_o_n_t_s.  A font typically contains images that
  440.           share a common appearance and look nice together (for
  441.           example, a single size, boldness, slant, and character set).
  442.           Similarly, collections of fonts that are based on a common
  443.           type face (the variations are usually called roman, bold,
  444.           italic, bold italic, oblique, and bold oblique) are called
  445.           _f_a_m_i_l_i_e_s.
  446.  
  447.           Fonts come in various sizes.  The X server supports _s_c_a_l_a_b_l_e
  448.           fonts, meaning it is possible to create a font of arbitrary
  449.           size from a single source for the font.  The server supports
  450.           scaling from _o_u_t_l_i_n_e fonts and _b_i_t_m_a_p fonts.  Scaling from
  451.           outline fonts usually produces significantly better results
  452.           than scaling from bitmap fonts.
  453.  
  454.           An X server can obtain fonts from individual files stored in
  455.           directories in the file system, or from one or more font
  456.  
  457.  
  458.  
  459.      Page 7                                          (printed 4/30/98)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  467.  
  468.  
  469.  
  470.           servers, or from a mixtures of directories and font servers.
  471.           The list of places the server looks when trying to find a
  472.           font is controlled by its _f_o_n_t _p_a_t_h.  Although most
  473.           installations will choose to have the server start up with
  474.           all of the commonly used font directories in the font path,
  475.           the font path can be changed at any time with the _x_s_e_t
  476.           program.  However, it is important to remember that the
  477.           directory names are on the sssseeeerrrrvvvveeeerrrr's machine, not on the
  478.           application's.
  479.  
  480.           Bitmap font files are usually created by compiling a textual
  481.           font description into binary form, using _b_d_f_t_o_p_c_f.  Font
  482.           databases are created by running the _m_k_f_o_n_t_d_i_r program in
  483.           the directory containing the source or compiled versions of
  484.           the fonts.  Whenever fonts are added to a directory,
  485.           _m_k_f_o_n_t_d_i_r should be rerun so that the server can find the
  486.           new fonts.  To make the server reread the font database,
  487.           reset the font path with the _x_s_e_t program.  For example, to
  488.           add a font to a private directory, the following commands
  489.           could be used:
  490.  
  491.               % cp newfont.pcf ~/myfonts
  492.               % mkfontdir ~/myfonts
  493.               % xset fp rehash
  494.  
  495.           The _x_f_o_n_t_s_e_l and _x_l_s_f_o_n_t_s programs can be used to browse
  496.           through the fonts available on a server.  Font names tend to
  497.           be fairly long as they contain all of the information needed
  498.           to uniquely identify individual fonts.  However, the X
  499.           server supports wildcarding of font names, so the full
  500.           specification
  501.  
  502.               -_a_d_o_b_e-_c_o_u_r_i_e_r-_m_e_d_i_u_m-_r-_n_o_r_m_a_l--_1_0-_1_0_0-_7_5-_7_5-_m-_6_0-_i_s_o_8_8_5_9-_1
  503.  
  504.           might be abbreviated as:
  505.  
  506.               -*-_c_o_u_r_i_e_r-_m_e_d_i_u_m-_r-_n_o_r_m_a_l--*-_1_0_0-*-*-*-*-_i_s_o_8_8_5_9-_1
  507.  
  508.           Because the shell also has special meanings for * and ?,
  509.           wildcarded font names should be quoted:
  510.  
  511.               % xlsfonts -fn '-*-courier-medium-r-normal--*-100-*-*-*-*-*-*'
  512.  
  513.           The _x_l_s_f_o_n_t_s program can be used to list all of the fonts
  514.           that match a given pattern.  With no arguments, it lists all
  515.           available fonts.  This will usually list the same font at
  516.           many different sizes.  To see just the base scalable font
  517.           names, try using one of the following patterns:
  518.  
  519.               -*-*-*-*-*-*-_0-_0-_0-_0-*-_0-*-*
  520.               -*-*-*-*-*-*-_0-_0-_7_5-_7_5-*-_0-*-*
  521.               -*-*-*-*-*-*-_0-_0-_1_0_0-_1_0_0-*-_0-*-*
  522.  
  523.  
  524.  
  525.      Page 8                                          (printed 4/30/98)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  533.  
  534.  
  535.  
  536.           To convert one of the resulting names into a font at a
  537.           specific size, replace one of the first two zeros with a
  538.           nonzero value.  The field containing the first zero is for
  539.           the pixel size; replace it with a specific height in pixels
  540.           to name a font at that size.  Alternatively, the field
  541.           containing the second zero is for the point size; replace it
  542.           with a specific size in decipoints (there are 722.7
  543.           decipoints to the inch) to name a font at that size.  The
  544.           last zero is an average width field, measured in tenths of
  545.           pixels; some servers will anamorphically scale if this value
  546.           is specified.
  547.  
  548.      FFFFOOOONNNNTTTT SSSSEEEERRRRVVVVEEEERRRR NNNNAAAAMMMMEEEESSSS
  549.           One of the following forms can be used to name a font server
  550.           that accepts TCP connections:
  551.  
  552.               tcp/_h_o_s_t_n_a_m_e:_p_o_r_t
  553.               tcp/_h_o_s_t_n_a_m_e:_p_o_r_t/_c_a_t_a_l_o_g_u_e_l_i_s_t
  554.  
  555.           The _h_o_s_t_n_a_m_e specifies the name (or decimal numeric address)
  556.           of the machine on which the font server is running.  The
  557.           _p_o_r_t is the decimal TCP port on which the font server is
  558.           listening for connections.  The _c_a_t_a_l_o_g_u_e_l_i_s_t specifies a
  559.           list of catalogue names, with '+' as a separator.
  560.  
  561.           Examples: _t_c_p/_x._o_r_g:_7_1_0_0, _t_c_p/_1_9_8._1_1_2._4_5._1_1:_7_1_0_0/_a_l_l.
  562.  
  563.           One of the following forms can be used to name a font server
  564.           that accepts DECnet connections:
  565.  
  566.               decnet/_n_o_d_e_n_a_m_e::font$_o_b_j_n_a_m_e
  567.               decnet/_n_o_d_e_n_a_m_e::font$_o_b_j_n_a_m_e/_c_a_t_a_l_o_g_u_e_l_i_s_t
  568.  
  569.           The _n_o_d_e_n_a_m_e specifies the name (or decimal numeric address)
  570.           of the machine on which the font server is running.  The
  571.           _o_b_j_n_a_m_e is a normal, case-insensitive DECnet object name.
  572.           The _c_a_t_a_l_o_g_u_e_l_i_s_t specifies a list of catalogue names, with
  573.           '+' as a separator.
  574.  
  575.           Examples: _D_E_C_n_e_t/_S_R_V_N_O_D::_F_O_N_T$_D_E_F_A_U_L_T,
  576.           _d_e_c_n_e_t/_4_4._7_0::_f_o_n_t$_s_p_e_c_i_a_l/_s_y_m_b_o_l_s.
  577.  
  578.      CCCCOOOOLLLLOOOORRRR NNNNAAAAMMMMEEEESSSS
  579.           Most applications provide ways of tailoring (usually through
  580.           resources or command line arguments) the colors of various
  581.           elements in the text and graphics they display.  A color can
  582.           be specified either by an abstract color name, or by a
  583.           numerical color specification.  The numerical specification
  584.           can identify a color in either device-dependent (RGB) or
  585.           device-independent terms.  Color strings are case-
  586.           insensitive.
  587.  
  588.  
  589.  
  590.  
  591.      Page 9                                          (printed 4/30/98)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  599.  
  600.  
  601.  
  602.           X supports the use of abstract color names, for example,
  603.           "red", "blue".  A value for this abstract name is obtained
  604.           by searching one or more color name databases.  _X_l_i_b first
  605.           searches zero or more client-side databases; the number,
  606.           location, and content of these databases is implementation
  607.           dependent.  If the name is not found, the color is looked up
  608.           in the X server's database.  The text form of this database
  609.           is commonly stored in the file <_X_R_o_o_t>/_l_i_b/_X_1_1/_r_g_b._t_x_t,
  610.           where <XRoot> is replaced by the root of the X11 install
  611.           tree.
  612.  
  613.           A numerical color specification consists of a color space
  614.           name and a set of values in the following syntax:
  615.  
  616.               <_c_o_l_o_r__s_p_a_c_e__n_a_m_e>:<_v_a_l_u_e>/.../<_v_a_l_u_e>
  617.  
  618.           An RGB Device specification is identified by the prefix
  619.           "rgb:" and has the following syntax:
  620.  
  621.               rgb:<_r_e_d>/<_g_r_e_e_n>/<_b_l_u_e>
  622.  
  623.                   <_r_e_d>, <_g_r_e_e_n>, <_b_l_u_e> := _h | _h_h | _h_h_h | _h_h_h_h
  624.                   _h := single hexadecimal digits
  625.           Note that _h indicates the value scaled in 4 bits, _h_h the
  626.           value scaled in 8 bits, _h_h_h the value scaled in 12 bits, and
  627.           _h_h_h_h the value scaled in 16 bits, respectively.  These
  628.           values are passed directly to the X server, and are assumed
  629.           to be gamma corrected.
  630.  
  631.           The eight primary colors can be represented as:
  632.  
  633.               black                rgb:0/0/0
  634.               red                  rgb:ffff/0/0
  635.               green                rgb:0/ffff/0
  636.               blue                 rgb:0/0/ffff
  637.               yellow               rgb:ffff/ffff/0
  638.               magenta              rgb:ffff/0/ffff
  639.               cyan                 rgb:0/ffff/ffff
  640.               white                rgb:ffff/ffff/ffff
  641.  
  642.           For backward compatibility, an older syntax for RGB Device
  643.           is supported, but its continued use is not encouraged.  The
  644.           syntax is an initial sharp sign character followed by a
  645.           numeric specification, in one of the following formats:
  646.  
  647.               #RGB                      (4 bits each)
  648.               #RRGGBB                   (8 bits each)
  649.               #RRRGGGBBB                (12 bits each)
  650.               #RRRRGGGGBBBB             (16 bits each)
  651.  
  652.           The R, G, and B represent single hexadecimal digits.  When
  653.           fewer than 16 bits each are specified, they represent the
  654.  
  655.  
  656.  
  657.      Page 10                                         (printed 4/30/98)
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  665.  
  666.  
  667.  
  668.           most-significant bits of the value (unlike the "rgb:"
  669.           syntax, in which values are scaled).  For example, #3a7 is
  670.           the same as #3000a0007000.
  671.  
  672.           An RGB intensity specification is identified by the prefix
  673.           "rgbi:" and has the following syntax:
  674.  
  675.               rgbi:<_r_e_d>/<_g_r_e_e_n>/<_b_l_u_e>
  676.  
  677.           The red, green, and blue are floating point values between
  678.           0.0 and 1.0, inclusive.  They represent linear intensity
  679.           values, with 1.0 indicating full intensity, 0.5 half
  680.           intensity, and so on.  These values will be gamma corrected
  681.           by _X_l_i_b before being sent to the X server.  The input format
  682.           for these values is an optional sign, a string of numbers
  683.           possibly containing a decimal point, and an optional
  684.           exponent field containing an E or e followed by a possibly
  685.           signed integer string.
  686.  
  687.           The standard device-independent string specifications have
  688.           the following syntax:
  689.  
  690.               CIEXYZ:<_X>/<_Y>/<_Z>             (_n_o_n_e, 1, _n_o_n_e)
  691.               CIEuvY:<_u>/<_v>/<_Y>             (~.6, ~.6, 1)
  692.               CIExyY:<_x>/<_y>/<_Y>             (~.75, ~.85, 1)
  693.               CIELab:<_L>/<_a>/<_b>             (100, _n_o_n_e, _n_o_n_e)
  694.               CIELuv:<_L>/<_u>/<_v>             (100, _n_o_n_e, _n_o_n_e)
  695.               TekHVC:<_H>/<_V>/<_C>             (360, 100, 100)
  696.  
  697.           All of the values (C, H, V, X, Y, Z, a, b, u, v, y, x) are
  698.           floating point values.  Some of the values are constrained
  699.           to be between zero and some upper bound; the upper bounds
  700.           are given in parentheses above.  The syntax for these values
  701.           is an optional '+' or '-' sign, a string of digits possibly
  702.           containing a decimal point, and an optional exponent field
  703.           consisting of an 'E' or 'e' followed by an optional '+' or
  704.           '-' followed by a string of digits.
  705.  
  706.           For more information on device independent color, see the
  707.           _X_l_i_b reference manual.
  708.  
  709.      KKKKEEEEYYYYBBBBOOOOAAAARRRRDDDDSSSS
  710.           The X keyboard model is broken into two layers:  server-
  711.           specific codes (called _k_e_y_c_o_d_e_s) which represent the
  712.           physical keys, and server-independent symbols (called
  713.           _k_e_y_s_y_m_s) which represent the letters or words that appear on
  714.           the keys. Two tables are kept in the server for converting
  715.           keycodes to keysyms:
  716.  
  717.           _m_o_d_i_f_i_e_r _l_i_s_t
  718.                   Some keys (such as Shift, Control, and Caps Lock)
  719.                   are known as _m_o_d_i_f_i_e_r and are used to select
  720.  
  721.  
  722.  
  723.      Page 11                                         (printed 4/30/98)
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  731.  
  732.  
  733.  
  734.                   different symbols that are attached to a single key
  735.                   (such as Shift-a generates a capital A, and
  736.                   Control-l generates a control character ^L).  The
  737.                   server keeps a list of keycodes corresponding to the
  738.                   various modifier keys.  Whenever a key is pressed or
  739.                   released, the server generates an _e_v_e_n_t that
  740.                   contains the keycode of the indicated key as well as
  741.                   a mask that specifies which of the modifier keys are
  742.                   currently pressed.  Most servers set up this list to
  743.                   initially contain the various shift, control, and
  744.                   shift lock keys on the keyboard.
  745.  
  746.           _k_e_y_m_a_p _t_a_b_l_e
  747.                   Applications translate event keycodes and modifier
  748.                   masks into keysyms using a _k_e_y_s_y_m _t_a_b_l_e which
  749.                   contains one row for each keycode and one column for
  750.                   various modifier states.  This table is initialized
  751.                   by the server to correspond to normal typewriter
  752.                   conventions.  The exact semantics of how the table
  753.                   is interpreted to produce keysyms depends on the
  754.                   particular program, libraries, and language input
  755.                   method used, but the following conventions for the
  756.                   first four keysyms in each row are generally adhered
  757.                   to:
  758.  
  759.           The first four elements of the list are split into two
  760.           groups of keysyms.  Group 1 contains the first and second
  761.           keysyms; Group 2 contains the third and fourth keysyms.
  762.           Within each group, if the first element is alphabetic and
  763.           the the second element is the special keysym _N_o_S_y_m_b_o_l, then
  764.           the group is treated as equivalent to a group in which the
  765.           first element is the lowercase letter and the second element
  766.           is the uppercase letter.
  767.  
  768.           Switching between groups is controlled by the keysym named
  769.           MODE SWITCH, by attaching that keysym to some key and
  770.           attaching that key to any one of the modifiers Mod1 through
  771.           Mod5.  This modifier is called the ``group modifier.''
  772.           Group 1 is used when the group modifier is off, and Group 2
  773.           is used when the group modifier is on.
  774.  
  775.           Within a group, the modifier state determines which keysym
  776.           to use.  The first keysym is used when the Shift and Lock
  777.           modifiers are off.  The second keysym is used when the Shift
  778.           modifier is on, when the Lock modifier is on and the second
  779.           keysym is uppercase alphabetic, or when the Lock modifier is
  780.           on and is interpreted as ShiftLock.  Otherwise, when the
  781.           Lock modifier is on and is interpreted as CapsLock, the
  782.           state of the Shift modifier is applied first to select a
  783.           keysym; but if that keysym is lowercase alphabetic, then the
  784.           corresponding uppercase keysym is used instead.
  785.  
  786.  
  787.  
  788.  
  789.      Page 12                                         (printed 4/30/98)
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  797.  
  798.  
  799.  
  800.      OOOOPPPPTTTTIIIIOOOONNNNSSSS
  801.           Most X programs attempt to use the same names for command
  802.           line options and arguments.  All applications written with
  803.           the X Toolkit Intrinsics automatically accept the following
  804.           options:
  805.  
  806.           ----ddddiiiissssppppllllaaaayyyy _d_i_s_p_l_a_y
  807.                   This option specifies the name of the X server to
  808.                   use.
  809.  
  810.           ----ggggeeeeoooommmmeeeettttrrrryyyy _g_e_o_m_e_t_r_y
  811.                   This option specifies the initial size and location
  812.                   of the window.
  813.  
  814.           ----bbbbgggg _c_o_l_o_r,,,, ----bbbbaaaacccckkkkggggrrrroooouuuunnnndddd _c_o_l_o_r
  815.                   Either option specifies the color to use for the
  816.                   window background.
  817.  
  818.           ----bbbbdddd _c_o_l_o_r,,,, ----bbbboooorrrrddddeeeerrrrccccoooolllloooorrrr _c_o_l_o_r
  819.                   Either option specifies the color to use for the
  820.                   window border.
  821.  
  822.           ----bbbbwwww _n_u_m_b_e_r,,,, ----bbbboooorrrrddddeeeerrrrwwwwiiiiddddtttthhhh _n_u_m_b_e_r
  823.                   Either option specifies the width in pixels of the
  824.                   window border.
  825.  
  826.           ----ffffgggg _c_o_l_o_r,,,, ----ffffoooorrrreeeeggggrrrroooouuuunnnndddd _c_o_l_o_r
  827.                   Either option specifies the color to use for text or
  828.                   graphics.
  829.  
  830.           ----ffffnnnn _f_o_n_t,,,, ----ffffoooonnnntttt _f_o_n_t
  831.                   Either option specifies the font to use for
  832.                   displaying text.
  833.  
  834.           ----iiiiccccoooonnnniiiicccc
  835.                   This option indicates that the user would prefer
  836.                   that the application's windows initially not be
  837.                   visible as if the windows had be immediately
  838.                   iconified by the user.  Window managers may choose
  839.                   not to honor the application's request.
  840.  
  841.           ----nnnnaaaammmmeeee
  842.                   This option specifies the name under which resources
  843.                   for the application should be found.  This option is
  844.                   useful in shell aliases to distinguish between
  845.                   invocations of an application, without resorting to
  846.                   creating links to alter the executable file name.
  847.  
  848.           ----rrrrvvvv, ----rrrreeeevvvveeeerrrrsssseeee
  849.                   Either option indicates that the program should
  850.                   simulate reverse video if possible, often by
  851.                   swapping the foreground and background colors.  Not
  852.  
  853.  
  854.  
  855.      Page 13                                         (printed 4/30/98)
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  863.  
  864.  
  865.  
  866.                   all programs honor this or implement it correctly.
  867.                   It is usually only used on monochrome displays.
  868.  
  869.           ++++rrrrvvvv
  870.                   This option indicates that the program should not
  871.                   simulate reverse video. This is used to override any
  872.                   defaults since reverse video doesn't always work
  873.                   properly.
  874.  
  875.           ----sssseeeelllleeeeccccttttiiiioooonnnnTTTTiiiimmmmeeeeoooouuuutttt
  876.                   This option specifies the timeout in milliseconds
  877.                   within which two communicating applications must
  878.                   respond to one another for a selection request.
  879.  
  880.           ----ssssyyyynnnncccchhhhrrrroooonnnnoooouuuussss
  881.                   This option indicates that requests to the X server
  882.                   should be sent synchronously, instead of
  883.                   asynchronously.  Since _X_l_i_b normally buffers
  884.                   requests to the server, errors do not necessarily
  885.                   get reported immediately after they occur.  This
  886.                   option turns off the buffering so that the
  887.                   application can be debugged.  It should never be
  888.                   used with a working program.
  889.  
  890.           ----ttttiiiittttlllleeee _s_t_r_i_n_g
  891.                   This option specifies the title to be used for this
  892.                   window.  This information is sometimes used by a
  893.                   window manager to provide some sort of header
  894.                   identifying the window.
  895.  
  896.           ----xxxxnnnnllllllllaaaannnngggguuuuaaaaggggeeee _l_a_n_g_u_a_g_e[__t_e_r_r_i_t_o_r_y][._c_o_d_e_s_e_t]
  897.                   This option specifies the language, territory, and
  898.                   codeset for use in resolving resource and other
  899.                   filenames.
  900.  
  901.           ----xxxxrrrrmmmm _r_e_s_o_u_r_c_e_s_t_r_i_n_g
  902.                   This option specifies a resource name and value to
  903.                   override any defaults.  It is also very useful for
  904.                   setting resources that don't have explicit command
  905.                   line arguments.
  906.  
  907.      RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS
  908.           To make the tailoring of applications to personal
  909.           preferences easier, X provides a mechanism for storing
  910.           default values for program resources (e.g. background color,
  911.           window title, etc.)  Resources are specified as strings that
  912.           are read in from various places when an application is run.
  913.           Program components are named in a hierarchical fashion, with
  914.           each node in the hierarchy identified by a class and an
  915.           instance name.  At the top level is the class and instance
  916.           name of the application itself.  By convention, the class
  917.           name of the application is the same as the program name, but
  918.  
  919.  
  920.  
  921.      Page 14                                         (printed 4/30/98)
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  929.  
  930.  
  931.  
  932.           with  the first letter capitalized (e.g. _B_i_t_m_a_p or _E_m_a_c_s)
  933.           although some programs that begin with the letter ``x'' also
  934.           capitalize the second letter for historical reasons.
  935.  
  936.           The precise syntax for resources is:
  937.  
  938.           ResourceLine      = Comment | IncludeFile | ResourceSpec | <empty line>
  939.           Comment           = "!" {<any character except null or newline>}
  940.           IncludeFile       = "#" WhiteSpace "include" WhiteSpace FileName WhiteSpace
  941.           FileName          = <valid filename for operating system>
  942.           ResourceSpec      = WhiteSpace ResourceName WhiteSpace ":" WhiteSpace Value
  943.           ResourceName      = [Binding] {Component Binding} ComponentName
  944.           Binding           = "." | "*"
  945.           WhiteSpace        = {<space> | <horizontal tab>}
  946.           Component         = "?" | ComponentName
  947.           ComponentName     = NameChar {NameChar}
  948.           NameChar          = "a"-"z" | "A"-"Z" | "0"-"9" | "_" | "-"
  949.           Value             = {<any character except null or unescaped newline>}
  950.  
  951.           Elements separated by vertical bar (|) are alternatives.
  952.           Curly braces ({...}) indicate zero or more repetitions of
  953.           the enclosed elements.  Square brackets ([...]) indicate
  954.           that the enclosed element is optional.  Quotes ("...") are
  955.           used around literal characters.
  956.  
  957.           IncludeFile lines are interpreted by replacing the line with
  958.           the contents of the specified file.  The word "include" must
  959.           be in lowercase.  The filename is interpreted relative to
  960.           the directory of the file in which the line occurs (for
  961.           example, if the filename contains no directory or contains a
  962.           relative directory specification).
  963.  
  964.           If a ResourceName contains a contiguous sequence of two or
  965.           more Binding characters, the sequence will be replaced with
  966.           single "." character if the sequence contains only "."
  967.           characters, otherwise the sequence will be replaced with a
  968.           single "*" character.
  969.  
  970.           A resource database never contains more than one entry for a
  971.           given ResourceName.  If a resource file contains multiple
  972.           lines with the same ResourceName, the last line in the file
  973.           is used.
  974.  
  975.           Any whitespace character before or after the name or colon
  976.           in a ResourceSpec are ignored.  To allow a Value to begin
  977.           with whitespace, the two-character sequence ``\_s_p_a_c_e''
  978.           (backslash followed by space) is recognized and replaced by
  979.           a space character, and the two-character sequence ``\_t_a_b''
  980.           (backslash followed by horizontal tab) is recognized and
  981.           replaced by a horizontal tab character.  To allow a Value to
  982.           contain embedded newline characters, the two-character
  983.           sequence ``\n'' is recognized and replaced by a newline
  984.  
  985.  
  986.  
  987.      Page 15                                         (printed 4/30/98)
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  995.  
  996.  
  997.  
  998.           character.  To allow a Value to be broken across multiple
  999.           lines in a text file, the two-character sequence
  1000.           ``\_n_e_w_l_i_n_e'' (backslash followed by newline) is recognized
  1001.           and removed from the value.  To allow a Value to contain
  1002.           arbitrary character codes, the four-character sequence
  1003.           ``\_n_n_n'', where each _n is a digit character in the range of
  1004.           ``0''-``7'', is recognized and replaced with a single byte
  1005.           that contains the octal value specified by the sequence.
  1006.           Finally, the two-character sequence ``\\'' is recognized and
  1007.           replaced with a single backslash.
  1008.  
  1009.           When an application looks for the value of a resource, it
  1010.           specifies a complete path in the hierarchy, with both class
  1011.           and instance names.  However, resource values are usually
  1012.           given with only partially specified names and classes, using
  1013.           pattern matching constructs.  An asterisk (*) is a loose
  1014.           binding and is used to represent any number of intervening
  1015.           components, including none.  A period (.) is a tight binding
  1016.           and is used to separate immediately adjacent components.  A
  1017.           question mark (?) is used to match any single component name
  1018.           or class.  A database entry cannot end in a loose binding;
  1019.           the final component (which cannot be "?") must be specified.
  1020.           The lookup algorithm searches the resource database for the
  1021.           entry that most closely matches (is most specific for) the
  1022.           full name and class being queried.  When more than one
  1023.           database entry matches the full name and class, precedence
  1024.           rules are used to select just one.
  1025.  
  1026.           The full name and class are scanned from left to right (from
  1027.           highest level in the hierarchy to lowest), one component at
  1028.           a time.  At each level, the corresponding component and/or
  1029.           binding of each matching entry is determined, and these
  1030.           matching components and bindings are compared according to
  1031.           precedence rules.  Each of the rules is applied at each
  1032.           level, before moving to the next level, until a rule selects
  1033.           a single entry over all others.  The rules (in order of
  1034.           precedence) are:
  1035.  
  1036.           1.   An entry that contains a matching component (whether
  1037.                name, class, or "?")  takes precedence over entries
  1038.                that elide the level (that is, entries that match the
  1039.                level in a loose binding).
  1040.  
  1041.           2.   An entry with a matching name takes precedence over
  1042.                both entries with a matching class and entries that
  1043.                match using "?".  An entry with a matching class takes
  1044.                precedence over entries that match using "?".
  1045.  
  1046.           3.   An entry preceded by a tight binding takes precedence
  1047.                over entries preceded by a loose binding.
  1048.  
  1049.           Programs based on the X Tookit Intrinsics obtain resources
  1050.  
  1051.  
  1052.  
  1053.      Page 16                                         (printed 4/30/98)
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  1061.  
  1062.  
  1063.  
  1064.           from the following sources (other programs usually support
  1065.           some subset of these sources):
  1066.  
  1067.           RRRREEEESSSSOOOOUUUURRRRCCCCEEEE____MMMMAAAANNNNAAAAGGGGEEEERRRR rrrrooooooootttt wwwwiiiinnnnddddoooowwww pppprrrrooooppppeeeerrrrttttyyyy
  1068.                   Any global resources that should be available to
  1069.                   clients on all machines should be stored in the
  1070.                   RESOURCE_MANAGER property on the root window of the
  1071.                   first screen using the _x_r_d_b program.  This is
  1072.                   frequently taken care of when the user starts up X
  1073.                   through the display manager or _x_i_n_i_t.
  1074.  
  1075.           SSSSCCCCRRRREEEEEEEENNNN____RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS rrrrooooooootttt wwwwiiiinnnnddddoooowwww pppprrrrooooppppeeeerrrrttttyyyy
  1076.                   Any resources specific to a given screen (e.g.
  1077.                   colors) that should be available to clients on all
  1078.                   machines should be stored in the SCREEN_RESOURCES
  1079.                   property on the root window of that screen.  The
  1080.                   _x_r_d_b program will sort resources automatically and
  1081.                   place them in RESOURCE_MANAGER or SCREEN_RESOURCES,
  1082.                   as appropriate.
  1083.  
  1084.           aaaapppppppplllliiiiccccaaaattttiiiioooonnnn----ssssppppeeeecccciiiiffffiiiicccc ffffiiiilllleeeessss
  1085.                   Directories named by the environment variable
  1086.                   XUSERFILESEARCHPATH or the environment variable
  1087.                   XAPPLRESDIR (which names a single directory and
  1088.                   should end with a '/' on POSIX systems), plus
  1089.                   directories in a standard place (usually under
  1090.                   <XRoot>/lib/X11/, but this can be overridden with
  1091.                   the XFILESEARCHPATH environment variable) are
  1092.                   searched for for application-specific resources.
  1093.                   For example, application default resources are
  1094.                   usually kept in <XRoot>/lib/X11/app-defaults/.  See
  1095.                   the _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s - _C _L_a_n_g_u_a_g_e _I_n_t_e_r_f_a_c_e
  1096.                   manual for details.
  1097.  
  1098.           XXXXEEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT
  1099.                   Any user- and machine-specific resources may be
  1100.                   specified by setting the XENVIRONMENT environment
  1101.                   variable to the name of a resource file to be loaded
  1102.                   by all applications.  If this variable is not
  1103.                   defined, a file named $_H_O_M_E/.Xdefaults-_h_o_s_t_n_a_m_e is
  1104.                   looked for instead, where _h_o_s_t_n_a_m_e is the name of
  1105.                   the host where the application is executing.
  1106.  
  1107.           ----xxxxrrrrmmmm _r_e_s_o_u_r_c_e_s_t_r_i_n_g
  1108.                   Resources can also be specified from the command
  1109.                   line.  The _r_e_s_o_u_r_c_e_s_t_r_i_n_g is a single resource name
  1110.                   and value as shown above.  Note that if the string
  1111.                   contains characters interpreted by the shell (e.g.,
  1112.                   asterisk), they must be quoted.  Any number of ----xxxxrrrrmmmm
  1113.                   arguments may be given on the command line.
  1114.  
  1115.           Program resources are organized into groups called _c_l_a_s_s_e_s,
  1116.  
  1117.  
  1118.  
  1119.      Page 17                                         (printed 4/30/98)
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  1127.  
  1128.  
  1129.  
  1130.           so that collections of individual resources (each of which
  1131.           are called _i_n_s_t_a_n_c_e_s) can be set all at once.  By
  1132.           convention, the instance name of a resource begins with a
  1133.           lowercase letter and class name with an upper case letter.
  1134.           Multiple word resources are concatenated with the first
  1135.           letter of the succeeding words capitalized.  Applications
  1136.           written with the X Toolkit Intrinsics will have at least the
  1137.           following resources:
  1138.  
  1139.           bbbbaaaacccckkkkggggrrrroooouuuunnnndddd ((((class BBBBaaaacccckkkkggggrrrroooouuuunnnndddd))))
  1140.                   This resource specifies the color to use for the
  1141.                   window background.
  1142.  
  1143.           bbbboooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh ((((class BBBBoooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh))))
  1144.                   This resource specifies the width in pixels of the
  1145.                   window border.
  1146.  
  1147.           bbbboooorrrrddddeeeerrrrCCCCoooolllloooorrrr ((((class BBBBoooorrrrddddeeeerrrrCCCCoooolllloooorrrr))))
  1148.                   This resource specifies the color to use for the
  1149.                   window border.
  1150.  
  1151.           Most applications using the X Toolkit Intrinsics also have
  1152.           the resource ffffoooorrrreeeeggggrrrroooouuuunnnndddd (class FFFFoooorrrreeeeggggrrrroooouuuunnnndddd), specifying the
  1153.           color to use for text and graphics within the window.
  1154.  
  1155.           By combining class and instance specifications, application
  1156.           preferences can be set quickly and easily.  Users of color
  1157.           displays will frequently want to set Background and
  1158.           Foreground classes to particular defaults.  Specific color
  1159.           instances such as text cursors can then be overridden
  1160.           without having to define all of the related resources.  For
  1161.           example,
  1162.  
  1163.               bitmap*Dashed:  off
  1164.               XTerm*cursorColor:  gold
  1165.               XTerm*multiScroll:  on
  1166.               XTerm*jumpScroll:  on
  1167.               XTerm*reverseWrap:  on
  1168.               XTerm*curses:  on
  1169.               XTerm*Font:  6x10
  1170.               XTerm*scrollBar: on
  1171.               XTerm*scrollbar*thickness: 5
  1172.               XTerm*multiClickTime: 500
  1173.               XTerm*charClass:  33:48,37:48,45-47:48,64:48
  1174.               XTerm*cutNewline: off
  1175.               XTerm*cutToBeginningOfLine: off
  1176.               XTerm*titeInhibit:  on
  1177.               XTerm*ttyModes:  intr ^c erase ^? kill ^u
  1178.               XLoad*Background: gold
  1179.               XLoad*Foreground: red
  1180.               XLoad*highlight: black
  1181.               XLoad*borderWidth: 0
  1182.  
  1183.  
  1184.  
  1185.      Page 18                                         (printed 4/30/98)
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  1193.  
  1194.  
  1195.  
  1196.               emacs*Geometry:  80x65-0-0
  1197.               emacs*Background:  rgb:5b/76/86
  1198.               emacs*Foreground:  white
  1199.               emacs*Cursor:  white
  1200.               emacs*BorderColor:  white
  1201.               emacs*Font:  6x10
  1202.               xmag*geometry: -0-0
  1203.               xmag*borderColor:  white
  1204.  
  1205.           If these resources were stored in a file called ._X_r_e_s_o_u_r_c_e_s
  1206.           in your home directory, they could be added to any existing
  1207.           resources in the server with the following command:
  1208.  
  1209.               % xrdb -merge $HOME/.Xresources
  1210.  
  1211.           This is frequently how user-friendly startup scripts merge
  1212.           user-specific defaults into any site-wide defaults.  All
  1213.           sites are encouraged to set up convenient ways of
  1214.           automatically loading resources. See the _X_l_i_b manual section
  1215.           _R_e_s_o_u_r_c_e _M_a_n_a_g_e_r _F_u_n_c_t_i_o_n_s for more information.
  1216.  
  1217.      EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
  1218.           The following is a collection of sample command lines for
  1219.           some of the more frequently used commands.  For more
  1220.           information on a particular command, please refer to that
  1221.           command's manual page.
  1222.  
  1223.               %  xrdb $HOME/.Xresources
  1224.               %  xmodmap -e "keysym BackSpace = Delete"
  1225.               %  mkfontdir /usr/local/lib/X11/otherfonts
  1226.               %  xset fp+ /usr/local/lib/X11/otherfonts
  1227.               %  xmodmap $HOME/.keymap.km
  1228.               %  xsetroot -solid 'rgbi:.8/.8/.8'
  1229.               %  xset b 100 400 c 50 s 1800 r on
  1230.               %  xset q
  1231.               %  twm
  1232.               %  xmag
  1233.               %  xclock -geometry 48x48-0+0 -bg blue -fg white
  1234.               %  xeyes -geometry 48x48-48+0
  1235.               %  xbiff -update 20
  1236.               %  xlsfonts '*helvetica*'
  1237.               %  xwininfo -root
  1238.               %  xdpyinfo -display joesworkstation:0
  1239.               %  xhost -joesworkstation
  1240.               %  xrefresh
  1241.               %  xwd | xwud
  1242.               %  bitmap companylogo.bm 32x32
  1243.               %  xcalc -bg blue -fg magenta
  1244.               %  xterm -geometry 80x66-0-0 -name myxterm $*
  1245.               %  xon filesysmachine xload
  1246.  
  1247.      DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  1248.  
  1249.  
  1250.  
  1251.      PPPPaaaaggggeeee 11119999                                         ((((pppprrrriiiinnnntttteeeedddd 4444////33330000////99998888))))
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  1259.  
  1260.  
  1261.  
  1262.           A wide variety of error messages are generated from various
  1263.           programs.  The default error handler in _X_l_i_b (also used by
  1264.           many toolkits) uses standard resources to construct
  1265.           diagnostic messages when errors occur.  The defaults for
  1266.           these messages are usually stored in
  1267.           <_X_R_o_o_t>/_l_i_b/_X_1_1/_X_E_r_r_o_r_D_B.  If this file is not present,
  1268.           error messages will be rather terse and cryptic.
  1269.  
  1270.           When the X Toolkit Intrinsics encounter errors converting
  1271.           resource strings to the appropriate internal format, no
  1272.           error messages are usually printed.  This is convenient when
  1273.           it is desirable to have one set of resources across a
  1274.           variety of displays (e.g. color vs. monochrome, lots of
  1275.           fonts vs. very few, etc.), although it can pose problems for
  1276.           trying to determine why an application might be failing.
  1277.           This behavior can be overridden by the setting the
  1278.           _S_t_r_i_n_g_C_o_n_v_e_r_s_i_o_n_s_W_a_r_n_i_n_g resource.
  1279.  
  1280.           To force the X Toolkit Intrinsics to always print string
  1281.           conversion error messages, the following resource should be
  1282.           placed in the file that gets loaded onto the
  1283.           RESOURCE_MANAGER property using the _x_r_d_b program (frequently
  1284.           called ._X_r_e_s_o_u_r_c_e_s or ._X_r_e_s in the user's home directory):
  1285.  
  1286.               *StringConversionWarnings: on
  1287.  
  1288.           To have conversion messages printed for just a particular
  1289.           application, the appropriate instance name can be placed
  1290.           before the asterisk:
  1291.  
  1292.               xterm*StringConversionWarnings: on
  1293.  
  1294.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  1295.           XConsortium(1), XStandards(1), Xsecurity(1),
  1296.  
  1297.           appres(1), bdftopcf(1), bitmap(1), editres(1), fsinfo(1),
  1298.           fslsfonts(1), fstobdf(1), iceauth(1), imake(1), lbxproxy(1),
  1299.           makedepend(1), mkfontdir(1), oclock(1), proxymngr(1),
  1300.           rgb(1), resize(1), rstart(1), smproxy(1), twm(1),
  1301.           x11perf(1), x11perfcomp(1), xauth(1), xclipboard(1),
  1302.           xclock(1), xcmsdb(1), xconsole(1), xdm(1), xdpyinfo(1),
  1303.           xfd(1), xfindproxy(1), xfs(1), xfwp(1), xhost(1),
  1304.           xieperf(1), xinit(1), xkbbell(1), xkbcomp(1), xbkevd(1),
  1305.           xkbprint(1), xkbvleds(1), xkbwatch(1), xkill(1), xlogo(1),
  1306.           xlsatoms(1), xlsclients(1), xlsfonts(1), xmag(1), xmh(1),
  1307.           xmodmap(1), xon(1), xprop(1), xrdb(1), xrefresh(1), xrx(1),
  1308.           xset(1), xsetroot(1), xsm(1), xstdcmap(1), xterm(1), xwd(1),
  1309.           xwininfo(1), xwud(1).  Xserver(1), Xdec(1), XmacII(1),
  1310.           Xsun(1), Xnest(1), Xvfb(1), XF86_Acc(1), XF86_Mono(1),
  1311.           XF86_SVGA(1), XF86_VGA16(1), XFree86(1), kbd_mode(1), _X_l_i_b -
  1312.           _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e, and _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s - _C
  1313.           _L_a_n_g_u_a_g_e _I_n_t_e_r_f_a_c_e
  1314.  
  1315.  
  1316.  
  1317.      Page 20                                         (printed 4/30/98)
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.      XXXX((((1111))))               XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))                XXXX((((1111))))
  1325.  
  1326.  
  1327.  
  1328.      TTTTRRRRAAAADDDDEEEEMMMMAAAARRRRKKKKSSSS
  1329.           X Window System is a trademark of X Consortium, Inc.
  1330.  
  1331.      AAAAUUUUTTTTHHHHOOOORRRRSSSS
  1332.           A cast of thousands, literally.  The Release 6.3
  1333.           distribution is brought to you by X Consortium, Inc.  The
  1334.           names of all people who made it a reality will be found in
  1335.           the individual documents and source files.  The staff
  1336.           members at the X Consortium responsible for this release
  1337.           are: Donna Converse (emeritus), Stephen Gildea (emeritus),
  1338.           Kaleb Keithley, Matt Landau (emeritus), Ralph Mor
  1339.           (emeritus), Janet O'Halloran, Bob Scheifler, Ralph Swick,
  1340.           Dave Wiggins (emeritus), and Reed Augliere.
  1341.  
  1342.           The X Window System standard was originally developed at the
  1343.           Laboratory for Computer Science at the Massachusetts
  1344.           Institute of Technology, and all rights thereto were
  1345.           assigned to the X Consortium on January 1, 1994.  X
  1346.           Consortium, Inc. closed its doors on December 31, 1996.  All
  1347.           rights to the X Window System have been assigned to the Open
  1348.           Software Foundation.
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.      Page 21                                         (printed 4/30/98)
  1384.  
  1385.  
  1386.  
  1387.